package main

import (
	"fmt"
)

/**
双向通道可以自动转成单向通道，反之不行
无缓冲：同步
有缓冲：异步
 */

 //生产者
func producer(wr chan<- int){
	for i:=0;i<10;i++{
		wr<-i*i
	}
	close(wr)
}
//消费者
func consumer(rd <-chan int){
	for mun:= range rd{
		fmt.Println(mun)
	}
}

func main() {
	ch:=make(chan int)
	go producer(ch)

	//consumer(ch)
	var rd <-chan int
	rd=ch
	for mun:= range rd{
		fmt.Println(mun)
	}
}
